package cn.sciento.transfer.infra.rocketmq.service;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.tools.command.SubCommandException;
import cn.sciento.transfer.domain.entity.ProducerConfig;
import cn.sciento.transfer.domain.repository.ProducerConfigRepository;
import cn.sciento.transfer.infra.rocketmq.vo.MqMessage;

public interface MqProducerService {
  void createTopic(String paramString1, String paramString2, String paramString3) throws SubCommandException;
  
  void createTopic(String paramString1, String paramString2) throws SubCommandException;
  
  void deleteTopic(String paramString1, String paramString2, String paramString3);
  
  void deleteTopic(String paramString1, String paramString2);
  
  int sendMsg(MqMessage paramMqMessage, String paramString);
  
  int sendMsg(String paramString1, String paramString2);
  
  int sendMsg(String paramString);
  
  DefaultMQProducer createProducer(String paramString);
  
  DefaultMQProducer createDefaultProducer();
  
  void createTopic(ProducerConfig paramProducerConfig, ProducerConfigRepository paramProducerConfigRepository);
}
